<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    console.log(this); // window

    setTimeout(() => {
        console.log(this); // window 
    },0) 

    const a = {
        name:'lt',
        fn(){
            console.log(this); // a
        }
    }
    // a.fn()

    const b = {
        name:'李涛',
        fn(){
            setTimeout(() => {
                console.log(this); // b
            })
        }
    }
    // b.fn()

    const c = {
        name:'李涛',
        d:{
            name:'卢',
            fn(){
                console.log(this); // d
            }
        }
    }
    // c.d.fn()

    // const e = {
    //     name:'李涛',
    //     f:{
    //         g:setTimeout(() => {
    //             console.log(111);
    //             console.log(this); // windouw  setTimeout是由window调用
    //         })
    //     }
    // }
    // e.f.g

    /* 
        call  apply  bind 
        call  apply 可以直接调用函数 call接受一个对象 apply接受一个数组
        bind 返回一个函数 需要自己再次电泳 接受对象
    */
    
   

</script>
</html>